package com.hx0311.pas.dept.webapp;

import java.util.Map;

import org.apache.commons.lang.StringUtils;

import com.hx0311.core.dao.support.ResultSetUtil;
import com.hx0311.core.webapp.struts2.action.BaseAction;
import com.hx0311.pas.SysUtil;
import com.hx0311.pas.PasConstants;
import com.hx0311.pas.dept.dao.JgdyDao;
import com.hx0311.pas.dept.model.Jgdy;

@SuppressWarnings("serial")
public class JgdyAction extends BaseAction<Jgdy, JgdyDao> {

	private JgdyDao dao;
	
	/**
	 * 显示机构列表
	 * 
	 * @return
	 */
	@Override
	public String index() {
		items = getDao().getAll();
		return SUCCESS;
	}

	/**
	 * 编辑前的准备
	 * 
	 * @return
	 */
	@Override
	@SuppressWarnings("unchecked")
	public String edit() {
		if (StringUtils.isNotBlank(getModel().getJgm())) {
			Map data = getDao().get(getModel().getJgm());
			Jgdy jgdy = new Jgdy();
			ResultSetUtil.copyMapValues(jgdy, data);
			setModel(jgdy);
		}
		return INPUT;
	}

	@Override
	public String save() {
		if (ADD.equals(getOptionType())) {
			getDao().add(getModel());
		} else {
			getDao().update(getModel());
		}
		SysUtil.loadJgdy(getServletContext());
		return INDEX;
	}
	
	@Override
	public String remove(){
		if (StringUtils.isNotBlank(getModel().getJgm())) {
			getDao().remove(getModel().getJgm());
		}
		return INDEX;
	}

	public Map<String,String> getJglxMap(){
		return PasConstants.JGLX_MAP;
	}
	
	@Override
	public JgdyDao getDao() {
		if (dao == null) {
			dao = new JgdyDao();
		}
		return dao;
	}

}
